<!DOCTYPE html>
<html>
<head>
    <title>编辑游记</title>
    <meta charset="utf-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <link rel="stylesheet" href="/js/bootstrap-4.1.1-dist/css/bootstrap.min.css">
    <script src="/js/jquery/jquery.min.js"></script>
    <script src="/js/bootstrap-4.1.1-dist/js/bootstrap.min.js"></script>
    <link rel="stylesheet" href="/css/font/css/font-awesome.min.css"/>
    <link rel="stylesheet" href="/css/reset.css"/>
    <link rel="stylesheet" href="/css/editTravels.css"/>
    <script src="/js/plugins/jrender/jrender.min.js"></script>
    <link rel="stylesheet" href="/js/plugins/dialog2/dialog.css"/>
    <script src="/js/plugins/dialog2/dialog.min.js"></script>
    <!--序列化表单-->
    <script src="/js/plugins/form/jquery.form.js"></script>
    <!--想要在移动端编辑文字,上传图片,需要引入插件-->
    <!-- 1.引入jQuery -->
    <!-- 2.插件核心 -->
    <script src="/js/eleditor/Eleditor.min.js"></script>
    <!-- 3.如果需要图片上传 -->
    <script src="/js/eleditor/webuploader.min.js"></script>
    <!--插件的样式-->
    <link rel="stylesheet" href="/js/eleditor/base.css"/>
    <!--导入日期插件-->
    <script type="text/javascript" src="/js/My97DatePicker/WdatePicker.js"></script>
    <!--日期插件的样式-->
    <link rel="stylesheet" href="/js/My97DatePicker/My97DatePicker.htm"/>
    <!-- 引入jquery 和 common.js 可以获取到地址栏上拼接的参数 -->
    <script type="text/javascript" src="/js/common.js"></script>
    <script>
        $(function () {
            /*获取所有地区是通过发送异步请求完成的,如果异步请求没有完成,就去页面渲染数据,
            会发生所有地区的下拉框没有显示完整数据的问题,所以把编辑游记的数据渲染放在获取所有地区的
            里面,让异步请求先完成,然后再渲染游记的没用*/
            // 获取所有地区
            $.get("/regions", function (data) {
                var temp = "";
                $.each(data, function (index, ele) {
                    temp += '<option value="' + ele.id + '">' + ele.name + '</option>';
                })
                $("#regionSelect").html(temp);
                /*先将id从地址栏上获取出来
                *再把对应id的游记的数据查到,再渲染到页面上*/
                var params = getParams();
                if (params.id) {
                    // 设置表单的提交地址 /travels/{id}
                    $("#detailForm").attr('action', "/travels/" + params.id);
                    // 设置表单的提交方式  put
                    $("input[name='_method']").val("put");
                    // 发送Ajax请求查询对应id的游记内容
                    $.get("/travels/" + params.id, function (data) {
                        // 数据渲染
                        $(".travels").renderValues(data);
                    });
                }
            })


            $("#changeBtn").click(function () {
                $("#fileInput").click();
            });
            // 文件框使用change事件
            $("#fileInput").change(function () {
                if ($(this).val()) {
                    //修改背景
                    $("#fileForm").ajaxSubmit(function (data) {
                        if (data.status == 1) { // data.status 等于1 -> 上传成功
                            // 回显图片,回显在背景的地方给用户看
                            //回显到背景的样式 背景是一个div没有src连接,只能用stye参数
                            $("#coverUrl").attr("src", data.url);
                        }
                    });
                }
            })

            // 把表单变成异步提交请求表单  / 提交不仅可以用函数提交,还可以用json方式提交
            $("#detailForm").ajaxForm({
                //beforeSubmit 还可以检查/验证表单的提交
                beforeSubmit: function (arr) { // 提交表单之前会执行该函数  / arr 比奥是提交表是要提交的数据
                    // return false;// 表示不提交表单 / 可以控制是否提交表单
                    arr.push({name: "title", value: $("#title").val()}); // 标题
                    arr.push({name: "coverUrl", value: $("#coverUrl").attr("src")}); // 封面
                    arr.push({name: "state", value: state}); // 状态 / 在带你保存或发布时在给state设置
                    arr.push({name: "travelContent.content", value: edr.getContent()}); // 保存游记内容
                },
                success: function (data) { // 表单提交成功后执行的函数
                    // 保存成功后跳转的页面
                    window.location.href = "/mine/travels.html";
                }
            })
            var state;
            // 保存草稿
            $("#save").click(function () {
                state = 0;
                // 提交表单
                $("#detailForm").submit();
            })
            //发布
            $("#release").click(function () {
                state = 1;
                // 提交表单
                $("#detailForm").submit();
            })

            // 编辑游记的文本内容需要的插件
            var edr = new Eleditor({
                el: "#contentEditor",// 渲染到页面中的哪个位置(把插件用在哪个位置)
                upload: {
                    server: '/images'
                }
            });
            //日期插件的使用
            // 出行时间编辑框
            $("#detailForm input[name=travelTime]").click(function () {
                WdatePicker();
            });
        })

    </script>


</head>

<body>

<form id="fileForm" action="/images" method="post" enctype="multipart/form-data">
    <input name="file" type="file" id="fileInput" style="display: none">
</form>

<div class="search-head">
    <div class="row nav-search">
        <div class="col-2">
            <a href="javascript:window.history.go(-1);">
                <span><i class="fa fa-times"></i></span>
            </a>
        </div>
        <div class="col-5"></div>
        <div class="col" style="text-align: right;">
            <i class="fa fa-floppy-o fg-fw" id="save"><span>保存</span></i>
            <i class="fa fa-check" id="release"><span>发布</span></i>
        </div>
    </div>
</div>

<div class="travels form-group">
    <div class="cover">
        <img id="coverUrl" width="100%" height="200px" render-src="coverUrl"/>

        <button type="button" class="btn" id="changeBtn">
            <i class="fa fa-pencil-square-o"></i>
            <small>更换封面</small>
        </button>


    </div>
    <div class="title">
        <input class="form-control" id="title" placeholder="请输入标题" render-value="title"/>
    </div>
    <h6 href="#">点击文章内容即可编辑</h6>
    <div id="contentEditor" render-html="travelContent.content">
    </div>
    <hr/>
    <div class="container">
        <form id="detailForm" action="/travels" method="post">
            <!---->
            <input type="hidden" name="_method">
            <input type="hidden" name="id" render-value="id"/>
            <label>出行时间:</label>
            <input type="text" name="travelTime" class="form-control" render-value="travelTime">
            <label>出行天数:</label>
            <input type="number" name="days" class="form-control" render-value="days">
            <label>参与人物:</label>
            <select class="c-select form-control" name="person" render-value="person">
                <option value="1" selected>一个人的旅行</option>
                <option value="2">和父母</option>
                <option value="3">和朋友</option>
                <option value="4">和同事</option>
                <option value="5">和爱人</option>
                <option value="6">和其他</option>
            </select>
            <label>人均费用:</label>
            <input type="text" name="perExpends" class="form-control" render-value="perExpends">

            <label>旅游地点:</label>
            <select class="form-control" name="place.id" id="regionSelect" render-value="place.id">

            </select>

            <div class="form-check">
                <label class="form-check-label">
                    <!-- render-attr 可以定义一些自定义属性 -->
                    <input class="form-check-input" type="checkbox" name="isPublic" render-attr='checked=isPublic'>是否公开
                </label>
            </div>

        </form>
    </div>

    <hr/>

</div>


</body>

</html>